java - System.out 字符编码
全部标签 假设我希望创建一个页面,该页面可以使用type(string)和id(int)查询所需的对象。/query?type=people&id=1会接我Person.find(1)鉴于/query?type=cities&id=123会接我City.find(123)但是,关于如何将字符串转换为所需的模型类,我遇到了问题。我能想到的唯一办法是caseparams[:type]when'people'@object=Person.find(params[:id])when'cities'@object=City.find(params[:id])end但是,如果我有更多类型的模型,这种方法就会
我想转这个字符串"P07091MMCNEFFEGP06870IVGGWECEQHSSP0A8M0VVPVADVLQGRP01019VIHNESTCEQ"变成一个看起来像ruby的数组。["P07091MMCNEFFEG","P06870IVGGWECEQHS","SP0A8M0VVPVADVLQGR","P01019VIHNESTCEQ"]由于换行,使用split没有返回我想要的结果。 最佳答案 这是处理空行的一种方式:string.split(/\n+/)例如,string="P07091MMCNEFFEGP06870IVGG
我必须将十六进制字符串转换为十六进制整数,如下所示:color="0xFF00FF"#canbeanycolorelse,definedbyfunctionscolorto=0xFF00FF#copyofcolor,butfromstringtointegerwithoutchanges我也可以有RGB格式。我不得不这样做,因为这个函数在:defi2sint,leni=1out="".force_encoding('binary')max=127**(len-1)whilei我看到了here存在十六进制整数。有人可以帮我解决这个问题吗? 最佳答案
在ruby中编写一个相当简单的命令行工具我需要报告有关命令行参数中的错误的有意义的消息,或者与此相关的程序中的其他错误情况。(未找到输入文件,输入格式无效等)现在我只是在检测参数列表中的错误时用合理的描述引发ArgumentError。这是一种好的做法,还是我也冒着用这种方法隐藏编程错误的风险?换句话说,ruby中系统定义的异常是为应用程序使用而设计的,还是我们应该始终创建自己的异常来报告非系统错误?编辑:例如,如果我使用错误数量的参数调用方法,ruby会引发ArgumentError。这是一个编程错误,我想用堆栈跟踪和所有信息来告知它。然而,当我的程序输入不正确时,我可能想给用户
我有一个像"Thisisatest"这样的字符串。我想用空格字符拆分字符串。我这样做:puts"Thisisatest".strip.each(''){|s|putss.strip}结果是:ThisisatestThisisatest为什么最后一行“Thisisatest”?而且我需要,如果两个单词之间有两个或更多空格字符,则这不应返回“行”。我只想在给定的字符串中拆分单词。有人有想法吗? 最佳答案 irb(main):002:0>"Thisisatest".split=>["This","is","a","test"]irb(ma
我有一个哈希集合:my_hash={"1"=>"苹果","2"=>"蜜蜂","3"=>"猫"我应该使用什么语法来将字符串中第一次出现的key替换为哈希集合value?例如我的输入字符串:str=我想要一个3结果字符串将是:str=我想要一只猫 最佳答案 我的一条线:hash.each{|k,v|str[k]&&=v}或使用String#sub!方法:hash.each{|k,v|str.sub!(k,v)} 关于ruby-在Ruby中如何用散列集合值替换字符串?,我们在StackOver
我正在全新安装OSXMountainLion。我通过以下方式安装了Rails:sudogeminstallrails一切似乎都安装正确,但是当我键入rails命令(railss、rails-v等)时,我收到此错误:Railsisnotcurrentlyinstalledonthissystem.Togetthelatestversion,simplytype:$sudogeminstallrailsYoucanthenrerunyour"rails"command.'whichrails'的结果是/usr/bin/rails我认为这是一个路径问题,也许是,但我可以看到/usr/bin是
如何使用Ruby从字符串中删除“www”、“http://”、“https://”?我试过了,但没用:s.gsub('/(?:http?:\/\/)?(?:www\.)?(.*)\/?$/i','')这是我在Rails中所做的:URL被截断了,但我的目标是删除链接的开头,例如“www”或“http://”,这样链接看起来像“google.com/somepage/d...”,不像“http://google.com/some...” 最佳答案 s=s.sub(/^https?\:\/\//,'').sub(/^www./,'')如果
我有一个字符串,像这样:"yellow-corn-(corn-on-the-cob)"我想从字符串中去掉括号以获得如下内容:"yellow-corn-corn-on-the-cob"我相信您会使用gsub来完成此操作,但我不确定我需要什么模式来匹配括号。像这样的东西:clean_string=old_string.gsub(PATTERN,"") 最佳答案 没有正则表达式:"yellow-corn-(corn-on-the-cob)".delete('()')#=>"yellow-corn-corn-on-the-cob"
在我看来,ruby1.9附带的YAML库是编码失聪的。这意味着在生成YAML时,它将采用任何字节串,并转义任何不输出干净ASCII的字节序列。这很蹩脚,但可以接受。我的问题恰恰相反。从所述YAML转储加载内容时。在下面的示例中,我创建了一个UTF-8字符串,将其转储为!binary类型。当我加载它时,它的编码是ASCII-8BIT。在示例的最后,我尝试将原始字符串和重新加载的字符串与另一个UTF-8字符串连接起来。后者将因Encoding::CompatibilityError而失败。require'yaml's0="Iñtërnâtiônàlizætiøn"y=s0.to_yamls